feat: update to mcpp 2026.8.1.1, ship templates/, i18n READMEs, split CI per platform - #4
Merged
Merged
Conversation
- .xlings.json pins mcpp 2026.8.1.1 (was 0.0.28); verified build/test/example and docs re-synced against that release (dev is the default profile now, lib target inference, [lib] path, dev-dependencies, standard in [package]). - templates/: the library now ships project templates the way mcpp's `mcpp new --template <pkg>[:<tmpl>]` expects — `basic` (default, console app) and `lib` (downstream module library + gtest). tools/template_smoke.sh renders each one as `mcpp new` does, repoints the dependency at this checkout and builds/runs it, so templates are verified before a release exists in the index. - READMEs in English (default), 简体中文 and 繁體中文, with a language switcher; docs/architecture.md gets the same three. Adds a note that `xlings install` installs mcpp into the PROJECT environment and `xlings install mcpp -g` is the global form, a publishing section pointing at mcpp-index (mcpp publish --dry-run → tag → release asset → index PR), and llmapi/cmdline as reference projects. - CI split per platform: ci-linux.yml / ci-macos.yml / ci-windows.yml, each running install → build → test → example → template smoke. A macOS or Windows regression can no longer hide behind a green Linux run. - .agents/skills/: new `mcpp` (commands, mcpp.toml, conventions, templates) and `mcpp-index` (finding deps, namespace rules, publishing) skills; more-details and the skills README updated for the new layout.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Brings the template repository up to the current mcpp release and gives it the three things a
library scaffold was missing: shippable project templates, multilingual docs, and per-platform CI.
1. Latest mcpp (
0.0.28→2026.8.1.1).xlings.jsonpins the current release. Everything was re-verified against it locally —mcpp build,mcpp test,examples/basic— and the docs were re-synced with what thatversion actually does:
devis the default build profile now, lib targets are inferred fromsrc/*.cppm,[lib] pathoverrides the lib-root convention,mcpp buildignores[dev-dependencies], and the C++ standard belongs in[package] standard.2.
templates/supportThe library now ships project templates, so downstream users can scaffold from it:
mcpp new --list-templates mylib mcpp new myapp --template mylib # basic (default) mcpp new mylib2 --template mylib:libbasic(default)libtools/template_smoke.shrenders each template the waymcpp newdoes, repoints thedependency at the checkout, then builds it (and runs it when it produced a binary) — so
templates are verified before a release exists in the package index. CI runs it on all
three platforms.
3. README in English (default) / 简体中文 / 繁體中文
README.md,README.zh.md,README.zh.hant.mdwith a language switcher;docs/architecture.mdgets the same three. Also added:
xlings installinstalls mcpp into the project environment (pinned by.xlings.json), andxlings install mcpp -gis the global form;mcpp publish --dry-run→ tag → release asset → mcpp-index PR,with links to the index repo, its contributor docs and its
add-mcpp-index-packageskill;mcpplibs/cmdline, each with a line on what to read it for.
4. CI split per platform
ci.yml→ci-linux.yml/ci-macos.yml/ci-windows.yml. Each runs the same path a newuser walks: install → build → test → example → template smoke. One badge and one log
per OS, so a macOS or Windows regression cannot hide behind a green Linux run.
5. Agent skills
New
.agents/skills/mcpp/SKILL.md(commands,mcpp.tomlfields, conventions, shippingtemplates/) and.agents/skills/mcpp-index/SKILL.md(finding dependencies, namespaceresolution rules, publishing).
more-detailsand the skills README were updated for the newlayout.
Verification
Run locally against mcpp 2026.8.1.1 (Linux x86_64):
mcpp build— lib target inferred, okmcpp test— 1 passed, 0 failedcd examples/basic && mcpp run— printshello mcpplibsbash tools/template_smoke.sh— both templates build;basicruns; the generatedlibproject also passes its own
mcpp test(the CI badges 404 until this lands on
main, as expected)macOS and Windows are validated by this PR's own CI runs.